home *** CD-ROM | disk | FTP | other *** search
/ Merciful 5 / Merciful - Disc 5.iso / software / r / rtg_master / rtgmasterv21.0dev.lha / includes / c / rtgmaster / rtgmaster.h < prev    next >
Encoding:
C/C++ Source or Header  |  1997-03-09  |  5.9 KB  |  220 lines

  1. /*
  2. **     $VER: rtgmaster.h 1.012 (08 Mar 1997)
  3. */
  4.  
  5. #ifndef RTGMASTER_H
  6. #define RTGMASTER_H TRUE
  7.  
  8. #ifndef UTILITY_TAGITEM_H
  9. #include "utility/tagitem.h"
  10. #endif
  11.  
  12. #ifndef EXEC_LIBRARIES_H
  13. #include "exec/libraries.h"
  14. #endif
  15.  
  16. #ifndef EXEC_TYPES_H
  17. #include "exec/types.h"
  18. #endif
  19.  
  20. #define smr_Dummy      TAG_USER
  21. #define smr_MinWidth   (smr_Dummy + 0x01)
  22.  
  23. // [320] This tag sets the minimum width in
  24. // pixels which the user is allowed to select
  25.  
  26. #define smr_MaxWidth   (smr_Dummy + 0x02)
  27.  
  28. // [2048] This tag sets the maximum width in
  29. // pixels which the user is allowed to select
  30.  
  31. #define smr_MinHeight  (smr_Dummy + 0x03)
  32.  
  33. // [200] This tag sets the minimum height in
  34. // pixels which the user is allowed to select
  35.  
  36. #define smr_MaxHeight  (smr_Dummy + 0x04)
  37.  
  38. // [2048] This tag sets the maximum height in
  39. // pixels which the user is allowed to select
  40.  
  41. #define smr_PlanarRoundW (smr_Dummy + 0x05)
  42.  
  43. // [16] RtgScreenModeReq will round user inputed
  44. // values for Width to nearest higher multiple
  45. // of thig tag for Planar display modes
  46.  
  47. #define smr_PlanarRoundH (smr_Dummy + 0x06)
  48.  
  49. // [1] RtgScreenModeReq will round user inputed
  50. // values for Height to nearest higher multiple
  51. // of thig tag for Planar display modes
  52.  
  53. #define smr_ChunkyRoundW (smr_Dummy + 0x07)
  54.  
  55. // [1] RtgScreenModeReq will round user inputed
  56. // values for Width to nearest higher multiple
  57. // of thig tag for Chunky display modes
  58.  
  59. #define smr_ChunkyRoundH (smr_Dummy + 0x08)
  60.  
  61. // [1] RtgScreenModeReq will round user inputed
  62. // values for Height to nearest higher multiple
  63. #define smr_ProgramUsesC2P   (smr_Dummy + 0x0c)
  64.  
  65. // [TRUE] If the program doesn't use the c2p call you have
  66. // to specify FALSE. In this case the c2p part of the
  67. // window is hidden and the the current c2p module is not
  68. // used when filtering the screen modes.
  69.  
  70. // of thig tag for Chunky display modes
  71.  
  72. #define smr_ChunkySupport (smr_Dummy + 0x09)
  73.  
  74. // [0] This LONG is used to indicate which
  75. // Chunky modes the user is allowed to select.
  76. // A set bit means the mode is selectable.
  77. // See the rtg_ChunkySupport tag for more
  78. // information.
  79.  
  80. #define smr_PlanarSupport (smr_Dummy + 0x0a)
  81.  
  82. // EITEM smr_PlanarSupport ;[0] This LONG is used to indicate which
  83. // Planar modes the user is allowed to select.
  84. // A set bit means the mode is selectable.
  85. // See the rtg_PlanarSupport tag for more
  86. // information.
  87.  
  88. #define smr_Buffers       (smr_Dummy + 0x0b)
  89.  
  90. // [1] Using this tag you're can specify
  91. // the number of buffers your application needs.
  92. // Usually this ranges from 1-3.  Specify
  93. // it here to filter out ScreenModes which can't
  94. // handle the number of buffers you require.
  95.  
  96. #define smr_ProgramUsesC2P   (smr_Dummy + 0x0c)
  97.  
  98. // [TRUE] If the program doesn't use the c2p call you have
  99. // to specify FALSE. In this case the c2p part of the
  100. // window is hidden and the the current c2p module is not
  101. // used when filtering the screen modes.
  102.  
  103. //*******
  104. // Attention: The following initial values are overwritten
  105. // by the saved preferences if a valid preferences file
  106. // is found.
  107.  
  108. #define smr_InitialWidth    (smr_Dummy + 0x10)
  109.  
  110. // [320] Initial screen width
  111. // The minimal/maximal selectable width is taken into account.
  112.  
  113. #define smr_InitialHeight   (smr_Dummy + 0x11)
  114.  
  115. // [200] Initial screen height
  116. // The minimal/maximal selectable height is taken into account.
  117.  
  118. #define smr_InitialDepth    (smr_Dummy + 0x12)
  119.  
  120. // [8] Log2 number of colors
  121.  
  122. #define smr_InitialScreenMode (smr_Dummy + 0x13)
  123.  
  124. // [the first selectable screenmode]
  125. // Ptr to a string describing the ScreenMode
  126. // (this is essentially the string pointed to
  127. // by sm_Name)
  128.  
  129. #define smr_InitialDefaultW   (smr_Dummy + 0x14)
  130.  
  131. // [TRUE] False if you don't want the Default
  132. // width gadget active.
  133.  
  134. #define smr_InitialDefaultH   (smr_Dummy + 0x15)
  135.  
  136. // [TRUE] False if you don't want the Default
  137. // height gadget active.
  138.  
  139. #define smr_PrefsFileName     (smr_Dummy + 0x16)
  140.  
  141. // ["RtgScreenMode.prefs"]
  142. // Specifies the file where the selected screenmode loaded from
  143. // and saved to. If you set this to NULL, the save gadget
  144. // is disabled and no screenmode is loaded at the beginning.
  145. // The window is certainly opened without pressing the shift
  146. // key then.
  147. // If a valid preferences file is found the "smr_Initial" tags
  148. // are ignored. It makes not much sense to specify inital values
  149. // without setting smr_PrefsFileName to NULL.
  150.  
  151. #define smr_ForceOpen         (smr_Dummy + 0x17)
  152.  
  153. // [FALSE] If false, the screenmode requester reads the screenmode
  154. // from the file specified by smr_PrefsFileName and returns immediately.
  155. // The requester opens only in case of an error when reading the preferences
  156. // or when the user presses shift while the requester is called.
  157. // If true, the requester opens in any case and lets the user select a
  158. // new mode.
  159.  
  160. #define smr_TitleText         (smr_Dummy + 0x18)
  161.  
  162. // ["RTG Screenmode Requester"] (STRPTR)
  163. // The title text of the window
  164.  
  165. #define smr_WindowLeftEdge   (smr_Dummy + 0x19)
  166.  
  167. // [-1 (= centered)] The left edge of the requester window
  168. // The value -1 means that the window is centered horicontically.
  169.  
  170. #define smr_WindowTopEdge    (smr_Dummy + 0x1a)
  171.  
  172. // [-1 (= centered)] The top edge of the requester window
  173. // The value -1 means that the window is centered vertically.
  174.  
  175.  
  176. // End of RtgScreenModeReq() enumeration ***
  177.  
  178. // Execpt for the rb_LibBase structure this structure is private and for
  179. // the internal use of RtgMaster.library ONLY.  This structure will change
  180. // in the future.
  181.  
  182.  
  183. struct RDCMPData
  184. {
  185.     struct MsgPort *port;
  186.     ULONG signal;
  187.     WORD *MouseX;
  188.     WORD *MouseY;
  189. };
  190.  
  191. struct RTGMasterBase {
  192.     struct Library LibBase;
  193.     WORD   Pad;
  194.     ULONG  SegList;
  195.     APTR   DosBase;
  196.     APTR   ExecBase;
  197.     APTR   GadToolsBase;
  198.     APTR   GfxBase;
  199.     APTR   IntBase;
  200.     APTR   UtilityBase;
  201.     BYTE   Track[8];
  202.     struct RtgLibs *Libraries;
  203.     APTR   FirstScreenMode;
  204. };
  205.  
  206. // This structure is private and for the internal use of RtgMaster.library
  207. // ONLY.  This structure will change in the future.
  208.  
  209. struct RtgLibs {
  210.     APTR  Next;
  211.     ULONG ID;
  212.     APTR  LibBase;
  213.     APTR  SMList;
  214.     APTR  LastSM;
  215.     UWORD LibVersion;
  216. };
  217.  
  218. #endif
  219.  
  220.